def demo1():
    return int(input('请输入数字：'))

def demo2():
    try:
        num = demo1()
        print(10 / num)
    except ValueError:
        print('请输入正确的数字')
        demo2()
    except  ZeroDivisionError:
        print('除数不能为0')
        demo2()
    except Exception as e:
        print('未知错误：%s' % e)
        demo2()

if __name__ == '__main__':
    demo2() # 异常的传递是一层一层(从异常出现的那句开始)向上抛的